package com.example.kuaizu.pojo;



import java.io.Serializable;

import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 统计表
* @TableName project_stats
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProjectStats implements Serializable {

    /**
    * 统计记录ID，主键，自动递增
    */
    @NotNull(message="[统计记录ID，主键，自动递增]不能为空")
    @ApiModelProperty("统计记录ID，主键，自动递增")
    private Integer id;
    /**
    * 关联用户表的openid
    */
    @NotBlank(message="[关联用户表的openid]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("关联用户表的openid")
    @Length(max= 100,message="编码长度不能超过100")
    private String openid;
    /**
    * 关联项目表的项目ID
    */
    @NotNull(message="[关联项目表的项目ID]不能为空")
    @ApiModelProperty("关联项目表的项目ID")
    private Integer projectId;
    /**
    * 浏览量
    */
    @ApiModelProperty("浏览量")
    private Integer viewCount;
    /**
    * 投递量
    */
    @ApiModelProperty("投递量")
    private Integer applicationCount;
    /**
    * 操作类型（如浏览、申请等）
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("操作类型（如浏览、申请等）")
    @Length(max= 50,message="编码长度不能超过50")
    private String actionType;
    /**
    * 操作时间
    */
    @ApiModelProperty("操作时间")
    private Date actionTime;
    /**
    * 操作详情（存储额外信息）
    */
    @ApiModelProperty("操作详情（存储额外信息）")
    private Object actionDetails;

}
